package com.jsh.erp.datasource.entities;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DailyItemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DailyItemExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andHeaderIdIsNull() {
            addCriterion("header_id is null");
            return (Criteria) this;
        }

        public Criteria andHeaderIdIsNotNull() {
            addCriterion("header_id is not null");
            return (Criteria) this;
        }

        public Criteria andHeaderIdEqualTo(String value) {
            addCriterion("header_id =", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdNotEqualTo(String value) {
            addCriterion("header_id <>", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdGreaterThan(String value) {
            addCriterion("header_id >", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdGreaterThanOrEqualTo(String value) {
            addCriterion("header_id >=", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdLessThan(String value) {
            addCriterion("header_id <", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdLessThanOrEqualTo(String value) {
            addCriterion("header_id <=", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdLike(String value) {
            addCriterion("header_id like", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdNotLike(String value) {
            addCriterion("header_id not like", value, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdIn(List<String> values) {
            addCriterion("header_id in", values, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdNotIn(List<String> values) {
            addCriterion("header_id not in", values, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdBetween(String value1, String value2) {
            addCriterion("header_id between", value1, value2, "headerId");
            return (Criteria) this;
        }

        public Criteria andHeaderIdNotBetween(String value1, String value2) {
            addCriterion("header_id not between", value1, value2, "headerId");
            return (Criteria) this;
        }

        public Criteria andLesseeIsNull() {
            addCriterion("lessee is null");
            return (Criteria) this;
        }

        public Criteria andLesseeIsNotNull() {
            addCriterion("lessee is not null");
            return (Criteria) this;
        }

        public Criteria andLesseeEqualTo(String value) {
            addCriterion("lessee =", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotEqualTo(String value) {
            addCriterion("lessee <>", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeGreaterThan(String value) {
            addCriterion("lessee >", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeGreaterThanOrEqualTo(String value) {
            addCriterion("lessee >=", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLessThan(String value) {
            addCriterion("lessee <", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLessThanOrEqualTo(String value) {
            addCriterion("lessee <=", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeLike(String value) {
            addCriterion("lessee like", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotLike(String value) {
            addCriterion("lessee not like", value, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeIn(List<String> values) {
            addCriterion("lessee in", values, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotIn(List<String> values) {
            addCriterion("lessee not in", values, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeBetween(String value1, String value2) {
            addCriterion("lessee between", value1, value2, "lessee");
            return (Criteria) this;
        }

        public Criteria andLesseeNotBetween(String value1, String value2) {
            addCriterion("lessee not between", value1, value2, "lessee");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNull() {
            addCriterion("device is null");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNotNull() {
            addCriterion("device is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceEqualTo(String value) {
            addCriterion("device =", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotEqualTo(String value) {
            addCriterion("device <>", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThan(String value) {
            addCriterion("device >", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThanOrEqualTo(String value) {
            addCriterion("device >=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThan(String value) {
            addCriterion("device <", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThanOrEqualTo(String value) {
            addCriterion("device <=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLike(String value) {
            addCriterion("device like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotLike(String value) {
            addCriterion("device not like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceIn(List<String> values) {
            addCriterion("device in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotIn(List<String> values) {
            addCriterion("device not in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceBetween(String value1, String value2) {
            addCriterion("device between", value1, value2, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotBetween(String value1, String value2) {
            addCriterion("device not between", value1, value2, "device");
            return (Criteria) this;
        }

        public Criteria andCashAmountIsNull() {
            addCriterion("cash_amount is null");
            return (Criteria) this;
        }

        public Criteria andCashAmountIsNotNull() {
            addCriterion("cash_amount is not null");
            return (Criteria) this;
        }

        public Criteria andCashAmountEqualTo(BigDecimal value) {
            addCriterion("cash_amount =", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountNotEqualTo(BigDecimal value) {
            addCriterion("cash_amount <>", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountGreaterThan(BigDecimal value) {
            addCriterion("cash_amount >", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_amount >=", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountLessThan(BigDecimal value) {
            addCriterion("cash_amount <", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cash_amount <=", value, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountIn(List<BigDecimal> values) {
            addCriterion("cash_amount in", values, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountNotIn(List<BigDecimal> values) {
            addCriterion("cash_amount not in", values, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_amount between", value1, value2, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andCashAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cash_amount not between", value1, value2, "cashAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountIsNull() {
            addCriterion("bank_amount is null");
            return (Criteria) this;
        }

        public Criteria andBankAmountIsNotNull() {
            addCriterion("bank_amount is not null");
            return (Criteria) this;
        }

        public Criteria andBankAmountEqualTo(BigDecimal value) {
            addCriterion("bank_amount =", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountNotEqualTo(BigDecimal value) {
            addCriterion("bank_amount <>", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountGreaterThan(BigDecimal value) {
            addCriterion("bank_amount >", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("bank_amount >=", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountLessThan(BigDecimal value) {
            addCriterion("bank_amount <", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("bank_amount <=", value, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountIn(List<BigDecimal> values) {
            addCriterion("bank_amount in", values, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountNotIn(List<BigDecimal> values) {
            addCriterion("bank_amount not in", values, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("bank_amount between", value1, value2, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andBankAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("bank_amount not between", value1, value2, "bankAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountIsNull() {
            addCriterion("invoice_amount is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountIsNotNull() {
            addCriterion("invoice_amount is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountEqualTo(BigDecimal value) {
            addCriterion("invoice_amount =", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountNotEqualTo(BigDecimal value) {
            addCriterion("invoice_amount <>", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountGreaterThan(BigDecimal value) {
            addCriterion("invoice_amount >", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("invoice_amount >=", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountLessThan(BigDecimal value) {
            addCriterion("invoice_amount <", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("invoice_amount <=", value, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountIn(List<BigDecimal> values) {
            addCriterion("invoice_amount in", values, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountNotIn(List<BigDecimal> values) {
            addCriterion("invoice_amount not in", values, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invoice_amount between", value1, value2, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andInvoiceAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("invoice_amount not between", value1, value2, "invoiceAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountIsNull() {
            addCriterion("special_amount is null");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountIsNotNull() {
            addCriterion("special_amount is not null");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountEqualTo(BigDecimal value) {
            addCriterion("special_amount =", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountNotEqualTo(BigDecimal value) {
            addCriterion("special_amount <>", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountGreaterThan(BigDecimal value) {
            addCriterion("special_amount >", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("special_amount >=", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountLessThan(BigDecimal value) {
            addCriterion("special_amount <", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("special_amount <=", value, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountIn(List<BigDecimal> values) {
            addCriterion("special_amount in", values, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountNotIn(List<BigDecimal> values) {
            addCriterion("special_amount not in", values, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("special_amount between", value1, value2, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andSpecialAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("special_amount not between", value1, value2, "specialAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountIsNull() {
            addCriterion("gift_amount is null");
            return (Criteria) this;
        }

        public Criteria andGiftAmountIsNotNull() {
            addCriterion("gift_amount is not null");
            return (Criteria) this;
        }

        public Criteria andGiftAmountEqualTo(BigDecimal value) {
            addCriterion("gift_amount =", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountNotEqualTo(BigDecimal value) {
            addCriterion("gift_amount <>", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountGreaterThan(BigDecimal value) {
            addCriterion("gift_amount >", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("gift_amount >=", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountLessThan(BigDecimal value) {
            addCriterion("gift_amount <", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("gift_amount <=", value, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountIn(List<BigDecimal> values) {
            addCriterion("gift_amount in", values, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountNotIn(List<BigDecimal> values) {
            addCriterion("gift_amount not in", values, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gift_amount between", value1, value2, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andGiftAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("gift_amount not between", value1, value2, "giftAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNull() {
            addCriterion("discount_amount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIsNotNull() {
            addCriterion("discount_amount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountEqualTo(BigDecimal value) {
            addCriterion("discount_amount =", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotEqualTo(BigDecimal value) {
            addCriterion("discount_amount <>", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThan(BigDecimal value) {
            addCriterion("discount_amount >", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_amount >=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThan(BigDecimal value) {
            addCriterion("discount_amount <", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_amount <=", value, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountIn(List<BigDecimal> values) {
            addCriterion("discount_amount in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotIn(List<BigDecimal> values) {
            addCriterion("discount_amount not in", values, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_amount between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andDiscountAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_amount not between", value1, value2, "discountAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountIsNull() {
            addCriterion("breakage_amount is null");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountIsNotNull() {
            addCriterion("breakage_amount is not null");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountEqualTo(BigDecimal value) {
            addCriterion("breakage_amount =", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountNotEqualTo(BigDecimal value) {
            addCriterion("breakage_amount <>", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountGreaterThan(BigDecimal value) {
            addCriterion("breakage_amount >", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("breakage_amount >=", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountLessThan(BigDecimal value) {
            addCriterion("breakage_amount <", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("breakage_amount <=", value, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountIn(List<BigDecimal> values) {
            addCriterion("breakage_amount in", values, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountNotIn(List<BigDecimal> values) {
            addCriterion("breakage_amount not in", values, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("breakage_amount between", value1, value2, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andBreakageAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("breakage_amount not between", value1, value2, "breakageAmount");
            return (Criteria) this;
        }

        public Criteria andSubTotalIsNull() {
            addCriterion("sub_total is null");
            return (Criteria) this;
        }

        public Criteria andSubTotalIsNotNull() {
            addCriterion("sub_total is not null");
            return (Criteria) this;
        }

        public Criteria andSubTotalEqualTo(BigDecimal value) {
            addCriterion("sub_total =", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalNotEqualTo(BigDecimal value) {
            addCriterion("sub_total <>", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalGreaterThan(BigDecimal value) {
            addCriterion("sub_total >", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sub_total >=", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalLessThan(BigDecimal value) {
            addCriterion("sub_total <", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sub_total <=", value, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalIn(List<BigDecimal> values) {
            addCriterion("sub_total in", values, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalNotIn(List<BigDecimal> values) {
            addCriterion("sub_total not in", values, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sub_total between", value1, value2, "subTotal");
            return (Criteria) this;
        }

        public Criteria andSubTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sub_total not between", value1, value2, "subTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalIsNull() {
            addCriterion("reading_total is null");
            return (Criteria) this;
        }

        public Criteria andReadingTotalIsNotNull() {
            addCriterion("reading_total is not null");
            return (Criteria) this;
        }

        public Criteria andReadingTotalEqualTo(BigDecimal value) {
            addCriterion("reading_total =", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalNotEqualTo(BigDecimal value) {
            addCriterion("reading_total <>", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalGreaterThan(BigDecimal value) {
            addCriterion("reading_total >", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("reading_total >=", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalLessThan(BigDecimal value) {
            addCriterion("reading_total <", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("reading_total <=", value, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalIn(List<BigDecimal> values) {
            addCriterion("reading_total in", values, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalNotIn(List<BigDecimal> values) {
            addCriterion("reading_total not in", values, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("reading_total between", value1, value2, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andReadingTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("reading_total not between", value1, value2, "readingTotal");
            return (Criteria) this;
        }

        public Criteria andTtlIsNull() {
            addCriterion("ttl is null");
            return (Criteria) this;
        }

        public Criteria andTtlIsNotNull() {
            addCriterion("ttl is not null");
            return (Criteria) this;
        }

        public Criteria andTtlEqualTo(BigDecimal value) {
            addCriterion("ttl =", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlNotEqualTo(BigDecimal value) {
            addCriterion("ttl <>", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlGreaterThan(BigDecimal value) {
            addCriterion("ttl >", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ttl >=", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlLessThan(BigDecimal value) {
            addCriterion("ttl <", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ttl <=", value, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlIn(List<BigDecimal> values) {
            addCriterion("ttl in", values, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlNotIn(List<BigDecimal> values) {
            addCriterion("ttl not in", values, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ttl between", value1, value2, "ttl");
            return (Criteria) this;
        }

        public Criteria andTtlNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ttl not between", value1, value2, "ttl");
            return (Criteria) this;
        }

        public Criteria andBoxAmountIsNull() {
            addCriterion("box_amount is null");
            return (Criteria) this;
        }

        public Criteria andBoxAmountIsNotNull() {
            addCriterion("box_amount is not null");
            return (Criteria) this;
        }

        public Criteria andBoxAmountEqualTo(BigDecimal value) {
            addCriterion("box_amount =", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountNotEqualTo(BigDecimal value) {
            addCriterion("box_amount <>", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountGreaterThan(BigDecimal value) {
            addCriterion("box_amount >", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("box_amount >=", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountLessThan(BigDecimal value) {
            addCriterion("box_amount <", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("box_amount <=", value, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountIn(List<BigDecimal> values) {
            addCriterion("box_amount in", values, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountNotIn(List<BigDecimal> values) {
            addCriterion("box_amount not in", values, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("box_amount between", value1, value2, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andBoxAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("box_amount not between", value1, value2, "boxAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountIsNull() {
            addCriterion("deduct_amount is null");
            return (Criteria) this;
        }

        public Criteria andDeductAmountIsNotNull() {
            addCriterion("deduct_amount is not null");
            return (Criteria) this;
        }

        public Criteria andDeductAmountEqualTo(BigDecimal value) {
            addCriterion("deduct_amount =", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountNotEqualTo(BigDecimal value) {
            addCriterion("deduct_amount <>", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountGreaterThan(BigDecimal value) {
            addCriterion("deduct_amount >", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("deduct_amount >=", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountLessThan(BigDecimal value) {
            addCriterion("deduct_amount <", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("deduct_amount <=", value, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountIn(List<BigDecimal> values) {
            addCriterion("deduct_amount in", values, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountNotIn(List<BigDecimal> values) {
            addCriterion("deduct_amount not in", values, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("deduct_amount between", value1, value2, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDeductAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("deduct_amount not between", value1, value2, "deductAmount");
            return (Criteria) this;
        }

        public Criteria andDifferenceIsNull() {
            addCriterion("difference is null");
            return (Criteria) this;
        }

        public Criteria andDifferenceIsNotNull() {
            addCriterion("difference is not null");
            return (Criteria) this;
        }

        public Criteria andDifferenceEqualTo(BigDecimal value) {
            addCriterion("difference =", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceNotEqualTo(BigDecimal value) {
            addCriterion("difference <>", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceGreaterThan(BigDecimal value) {
            addCriterion("difference >", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("difference >=", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceLessThan(BigDecimal value) {
            addCriterion("difference <", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("difference <=", value, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceIn(List<BigDecimal> values) {
            addCriterion("difference in", values, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceNotIn(List<BigDecimal> values) {
            addCriterion("difference not in", values, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("difference between", value1, value2, "difference");
            return (Criteria) this;
        }

        public Criteria andDifferenceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("difference not between", value1, value2, "difference");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIsNull() {
            addCriterion("total_amount is null");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIsNotNull() {
            addCriterion("total_amount is not null");
            return (Criteria) this;
        }

        public Criteria andTotalAmountEqualTo(BigDecimal value) {
            addCriterion("total_amount =", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotEqualTo(BigDecimal value) {
            addCriterion("total_amount <>", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountGreaterThan(BigDecimal value) {
            addCriterion("total_amount >", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_amount >=", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountLessThan(BigDecimal value) {
            addCriterion("total_amount <", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_amount <=", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIn(List<BigDecimal> values) {
            addCriterion("total_amount in", values, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotIn(List<BigDecimal> values) {
            addCriterion("total_amount not in", values, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_amount between", value1, value2, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_amount not between", value1, value2, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNull() {
            addCriterion("tenant_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantIdIsNotNull() {
            addCriterion("tenant_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantIdEqualTo(String value) {
            addCriterion("tenant_id =", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotEqualTo(String value) {
            addCriterion("tenant_id <>", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThan(String value) {
            addCriterion("tenant_id >", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_id >=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThan(String value) {
            addCriterion("tenant_id <", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLessThanOrEqualTo(String value) {
            addCriterion("tenant_id <=", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdLike(String value) {
            addCriterion("tenant_id like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotLike(String value) {
            addCriterion("tenant_id not like", value, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdIn(List<String> values) {
            addCriterion("tenant_id in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotIn(List<String> values) {
            addCriterion("tenant_id not in", values, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdBetween(String value1, String value2) {
            addCriterion("tenant_id between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andTenantIdNotBetween(String value1, String value2) {
            addCriterion("tenant_id not between", value1, value2, "tenantId");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIsNull() {
            addCriterion("delete_flag is null");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIsNotNull() {
            addCriterion("delete_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagEqualTo(String value) {
            addCriterion("delete_flag =", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotEqualTo(String value) {
            addCriterion("delete_flag <>", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagGreaterThan(String value) {
            addCriterion("delete_flag >", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagGreaterThanOrEqualTo(String value) {
            addCriterion("delete_flag >=", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLessThan(String value) {
            addCriterion("delete_flag <", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLessThanOrEqualTo(String value) {
            addCriterion("delete_flag <=", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagLike(String value) {
            addCriterion("delete_flag like", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotLike(String value) {
            addCriterion("delete_flag not like", value, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagIn(List<String> values) {
            addCriterion("delete_flag in", values, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotIn(List<String> values) {
            addCriterion("delete_flag not in", values, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagBetween(String value1, String value2) {
            addCriterion("delete_flag between", value1, value2, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andDeleteFlagNotBetween(String value1, String value2) {
            addCriterion("delete_flag not between", value1, value2, "deleteFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIsNull() {
            addCriterion("upload_flag is null");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIsNotNull() {
            addCriterion("upload_flag is not null");
            return (Criteria) this;
        }

        public Criteria andUploadFlagEqualTo(String value) {
            addCriterion("upload_flag =", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotEqualTo(String value) {
            addCriterion("upload_flag <>", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagGreaterThan(String value) {
            addCriterion("upload_flag >", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagGreaterThanOrEqualTo(String value) {
            addCriterion("upload_flag >=", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLessThan(String value) {
            addCriterion("upload_flag <", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLessThanOrEqualTo(String value) {
            addCriterion("upload_flag <=", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagLike(String value) {
            addCriterion("upload_flag like", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotLike(String value) {
            addCriterion("upload_flag not like", value, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagIn(List<String> values) {
            addCriterion("upload_flag in", values, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotIn(List<String> values) {
            addCriterion("upload_flag not in", values, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagBetween(String value1, String value2) {
            addCriterion("upload_flag between", value1, value2, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUploadFlagNotBetween(String value1, String value2) {
            addCriterion("upload_flag not between", value1, value2, "uploadFlag");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCustom1IsNull() {
            addCriterion("custom_1 is null");
            return (Criteria) this;
        }

        public Criteria andCustom1IsNotNull() {
            addCriterion("custom_1 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom1EqualTo(String value) {
            addCriterion("custom_1 =", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1NotEqualTo(String value) {
            addCriterion("custom_1 <>", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1GreaterThan(String value) {
            addCriterion("custom_1 >", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1GreaterThanOrEqualTo(String value) {
            addCriterion("custom_1 >=", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1LessThan(String value) {
            addCriterion("custom_1 <", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1LessThanOrEqualTo(String value) {
            addCriterion("custom_1 <=", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1Like(String value) {
            addCriterion("custom_1 like", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1NotLike(String value) {
            addCriterion("custom_1 not like", value, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1In(List<String> values) {
            addCriterion("custom_1 in", values, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1NotIn(List<String> values) {
            addCriterion("custom_1 not in", values, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1Between(String value1, String value2) {
            addCriterion("custom_1 between", value1, value2, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom1NotBetween(String value1, String value2) {
            addCriterion("custom_1 not between", value1, value2, "custom1");
            return (Criteria) this;
        }

        public Criteria andCustom2IsNull() {
            addCriterion("custom_2 is null");
            return (Criteria) this;
        }

        public Criteria andCustom2IsNotNull() {
            addCriterion("custom_2 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom2EqualTo(String value) {
            addCriterion("custom_2 =", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2NotEqualTo(String value) {
            addCriterion("custom_2 <>", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2GreaterThan(String value) {
            addCriterion("custom_2 >", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2GreaterThanOrEqualTo(String value) {
            addCriterion("custom_2 >=", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2LessThan(String value) {
            addCriterion("custom_2 <", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2LessThanOrEqualTo(String value) {
            addCriterion("custom_2 <=", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2Like(String value) {
            addCriterion("custom_2 like", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2NotLike(String value) {
            addCriterion("custom_2 not like", value, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2In(List<String> values) {
            addCriterion("custom_2 in", values, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2NotIn(List<String> values) {
            addCriterion("custom_2 not in", values, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2Between(String value1, String value2) {
            addCriterion("custom_2 between", value1, value2, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom2NotBetween(String value1, String value2) {
            addCriterion("custom_2 not between", value1, value2, "custom2");
            return (Criteria) this;
        }

        public Criteria andCustom3IsNull() {
            addCriterion("custom_3 is null");
            return (Criteria) this;
        }

        public Criteria andCustom3IsNotNull() {
            addCriterion("custom_3 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom3EqualTo(String value) {
            addCriterion("custom_3 =", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3NotEqualTo(String value) {
            addCriterion("custom_3 <>", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3GreaterThan(String value) {
            addCriterion("custom_3 >", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3GreaterThanOrEqualTo(String value) {
            addCriterion("custom_3 >=", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3LessThan(String value) {
            addCriterion("custom_3 <", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3LessThanOrEqualTo(String value) {
            addCriterion("custom_3 <=", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3Like(String value) {
            addCriterion("custom_3 like", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3NotLike(String value) {
            addCriterion("custom_3 not like", value, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3In(List<String> values) {
            addCriterion("custom_3 in", values, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3NotIn(List<String> values) {
            addCriterion("custom_3 not in", values, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3Between(String value1, String value2) {
            addCriterion("custom_3 between", value1, value2, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom3NotBetween(String value1, String value2) {
            addCriterion("custom_3 not between", value1, value2, "custom3");
            return (Criteria) this;
        }

        public Criteria andCustom4IsNull() {
            addCriterion("custom_4 is null");
            return (Criteria) this;
        }

        public Criteria andCustom4IsNotNull() {
            addCriterion("custom_4 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom4EqualTo(String value) {
            addCriterion("custom_4 =", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4NotEqualTo(String value) {
            addCriterion("custom_4 <>", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4GreaterThan(String value) {
            addCriterion("custom_4 >", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4GreaterThanOrEqualTo(String value) {
            addCriterion("custom_4 >=", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4LessThan(String value) {
            addCriterion("custom_4 <", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4LessThanOrEqualTo(String value) {
            addCriterion("custom_4 <=", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4Like(String value) {
            addCriterion("custom_4 like", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4NotLike(String value) {
            addCriterion("custom_4 not like", value, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4In(List<String> values) {
            addCriterion("custom_4 in", values, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4NotIn(List<String> values) {
            addCriterion("custom_4 not in", values, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4Between(String value1, String value2) {
            addCriterion("custom_4 between", value1, value2, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom4NotBetween(String value1, String value2) {
            addCriterion("custom_4 not between", value1, value2, "custom4");
            return (Criteria) this;
        }

        public Criteria andCustom5IsNull() {
            addCriterion("custom_5 is null");
            return (Criteria) this;
        }

        public Criteria andCustom5IsNotNull() {
            addCriterion("custom_5 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom5EqualTo(String value) {
            addCriterion("custom_5 =", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5NotEqualTo(String value) {
            addCriterion("custom_5 <>", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5GreaterThan(String value) {
            addCriterion("custom_5 >", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5GreaterThanOrEqualTo(String value) {
            addCriterion("custom_5 >=", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5LessThan(String value) {
            addCriterion("custom_5 <", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5LessThanOrEqualTo(String value) {
            addCriterion("custom_5 <=", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5Like(String value) {
            addCriterion("custom_5 like", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5NotLike(String value) {
            addCriterion("custom_5 not like", value, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5In(List<String> values) {
            addCriterion("custom_5 in", values, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5NotIn(List<String> values) {
            addCriterion("custom_5 not in", values, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5Between(String value1, String value2) {
            addCriterion("custom_5 between", value1, value2, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom5NotBetween(String value1, String value2) {
            addCriterion("custom_5 not between", value1, value2, "custom5");
            return (Criteria) this;
        }

        public Criteria andCustom6IsNull() {
            addCriterion("custom_6 is null");
            return (Criteria) this;
        }

        public Criteria andCustom6IsNotNull() {
            addCriterion("custom_6 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom6EqualTo(BigDecimal value) {
            addCriterion("custom_6 =", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6NotEqualTo(BigDecimal value) {
            addCriterion("custom_6 <>", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6GreaterThan(BigDecimal value) {
            addCriterion("custom_6 >", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_6 >=", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6LessThan(BigDecimal value) {
            addCriterion("custom_6 <", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6LessThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_6 <=", value, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6In(List<BigDecimal> values) {
            addCriterion("custom_6 in", values, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6NotIn(List<BigDecimal> values) {
            addCriterion("custom_6 not in", values, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_6 between", value1, value2, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom6NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_6 not between", value1, value2, "custom6");
            return (Criteria) this;
        }

        public Criteria andCustom7IsNull() {
            addCriterion("custom_7 is null");
            return (Criteria) this;
        }

        public Criteria andCustom7IsNotNull() {
            addCriterion("custom_7 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom7EqualTo(BigDecimal value) {
            addCriterion("custom_7 =", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7NotEqualTo(BigDecimal value) {
            addCriterion("custom_7 <>", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7GreaterThan(BigDecimal value) {
            addCriterion("custom_7 >", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_7 >=", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7LessThan(BigDecimal value) {
            addCriterion("custom_7 <", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7LessThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_7 <=", value, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7In(List<BigDecimal> values) {
            addCriterion("custom_7 in", values, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7NotIn(List<BigDecimal> values) {
            addCriterion("custom_7 not in", values, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_7 between", value1, value2, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom7NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_7 not between", value1, value2, "custom7");
            return (Criteria) this;
        }

        public Criteria andCustom8IsNull() {
            addCriterion("custom_8 is null");
            return (Criteria) this;
        }

        public Criteria andCustom8IsNotNull() {
            addCriterion("custom_8 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom8EqualTo(BigDecimal value) {
            addCriterion("custom_8 =", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8NotEqualTo(BigDecimal value) {
            addCriterion("custom_8 <>", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8GreaterThan(BigDecimal value) {
            addCriterion("custom_8 >", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_8 >=", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8LessThan(BigDecimal value) {
            addCriterion("custom_8 <", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8LessThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_8 <=", value, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8In(List<BigDecimal> values) {
            addCriterion("custom_8 in", values, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8NotIn(List<BigDecimal> values) {
            addCriterion("custom_8 not in", values, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_8 between", value1, value2, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom8NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_8 not between", value1, value2, "custom8");
            return (Criteria) this;
        }

        public Criteria andCustom9IsNull() {
            addCriterion("custom_9 is null");
            return (Criteria) this;
        }

        public Criteria andCustom9IsNotNull() {
            addCriterion("custom_9 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom9EqualTo(BigDecimal value) {
            addCriterion("custom_9 =", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9NotEqualTo(BigDecimal value) {
            addCriterion("custom_9 <>", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9GreaterThan(BigDecimal value) {
            addCriterion("custom_9 >", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_9 >=", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9LessThan(BigDecimal value) {
            addCriterion("custom_9 <", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9LessThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_9 <=", value, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9In(List<BigDecimal> values) {
            addCriterion("custom_9 in", values, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9NotIn(List<BigDecimal> values) {
            addCriterion("custom_9 not in", values, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_9 between", value1, value2, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom9NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_9 not between", value1, value2, "custom9");
            return (Criteria) this;
        }

        public Criteria andCustom10IsNull() {
            addCriterion("custom_10 is null");
            return (Criteria) this;
        }

        public Criteria andCustom10IsNotNull() {
            addCriterion("custom_10 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom10EqualTo(BigDecimal value) {
            addCriterion("custom_10 =", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10NotEqualTo(BigDecimal value) {
            addCriterion("custom_10 <>", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10GreaterThan(BigDecimal value) {
            addCriterion("custom_10 >", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_10 >=", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10LessThan(BigDecimal value) {
            addCriterion("custom_10 <", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10LessThanOrEqualTo(BigDecimal value) {
            addCriterion("custom_10 <=", value, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10In(List<BigDecimal> values) {
            addCriterion("custom_10 in", values, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10NotIn(List<BigDecimal> values) {
            addCriterion("custom_10 not in", values, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_10 between", value1, value2, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom10NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("custom_10 not between", value1, value2, "custom10");
            return (Criteria) this;
        }

        public Criteria andCustom11IsNull() {
            addCriterion("custom_11 is null");
            return (Criteria) this;
        }

        public Criteria andCustom11IsNotNull() {
            addCriterion("custom_11 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom11EqualTo(Integer value) {
            addCriterion("custom_11 =", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11NotEqualTo(Integer value) {
            addCriterion("custom_11 <>", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11GreaterThan(Integer value) {
            addCriterion("custom_11 >", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11GreaterThanOrEqualTo(Integer value) {
            addCriterion("custom_11 >=", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11LessThan(Integer value) {
            addCriterion("custom_11 <", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11LessThanOrEqualTo(Integer value) {
            addCriterion("custom_11 <=", value, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11In(List<Integer> values) {
            addCriterion("custom_11 in", values, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11NotIn(List<Integer> values) {
            addCriterion("custom_11 not in", values, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11Between(Integer value1, Integer value2) {
            addCriterion("custom_11 between", value1, value2, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom11NotBetween(Integer value1, Integer value2) {
            addCriterion("custom_11 not between", value1, value2, "custom11");
            return (Criteria) this;
        }

        public Criteria andCustom12IsNull() {
            addCriterion("custom_12 is null");
            return (Criteria) this;
        }

        public Criteria andCustom12IsNotNull() {
            addCriterion("custom_12 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom12EqualTo(Integer value) {
            addCriterion("custom_12 =", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12NotEqualTo(Integer value) {
            addCriterion("custom_12 <>", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12GreaterThan(Integer value) {
            addCriterion("custom_12 >", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12GreaterThanOrEqualTo(Integer value) {
            addCriterion("custom_12 >=", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12LessThan(Integer value) {
            addCriterion("custom_12 <", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12LessThanOrEqualTo(Integer value) {
            addCriterion("custom_12 <=", value, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12In(List<Integer> values) {
            addCriterion("custom_12 in", values, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12NotIn(List<Integer> values) {
            addCriterion("custom_12 not in", values, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12Between(Integer value1, Integer value2) {
            addCriterion("custom_12 between", value1, value2, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom12NotBetween(Integer value1, Integer value2) {
            addCriterion("custom_12 not between", value1, value2, "custom12");
            return (Criteria) this;
        }

        public Criteria andCustom13IsNull() {
            addCriterion("custom_13 is null");
            return (Criteria) this;
        }

        public Criteria andCustom13IsNotNull() {
            addCriterion("custom_13 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom13EqualTo(Integer value) {
            addCriterion("custom_13 =", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13NotEqualTo(Integer value) {
            addCriterion("custom_13 <>", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13GreaterThan(Integer value) {
            addCriterion("custom_13 >", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13GreaterThanOrEqualTo(Integer value) {
            addCriterion("custom_13 >=", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13LessThan(Integer value) {
            addCriterion("custom_13 <", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13LessThanOrEqualTo(Integer value) {
            addCriterion("custom_13 <=", value, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13In(List<Integer> values) {
            addCriterion("custom_13 in", values, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13NotIn(List<Integer> values) {
            addCriterion("custom_13 not in", values, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13Between(Integer value1, Integer value2) {
            addCriterion("custom_13 between", value1, value2, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom13NotBetween(Integer value1, Integer value2) {
            addCriterion("custom_13 not between", value1, value2, "custom13");
            return (Criteria) this;
        }

        public Criteria andCustom14IsNull() {
            addCriterion("custom_14 is null");
            return (Criteria) this;
        }

        public Criteria andCustom14IsNotNull() {
            addCriterion("custom_14 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom14EqualTo(Integer value) {
            addCriterion("custom_14 =", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14NotEqualTo(Integer value) {
            addCriterion("custom_14 <>", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14GreaterThan(Integer value) {
            addCriterion("custom_14 >", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14GreaterThanOrEqualTo(Integer value) {
            addCriterion("custom_14 >=", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14LessThan(Integer value) {
            addCriterion("custom_14 <", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14LessThanOrEqualTo(Integer value) {
            addCriterion("custom_14 <=", value, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14In(List<Integer> values) {
            addCriterion("custom_14 in", values, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14NotIn(List<Integer> values) {
            addCriterion("custom_14 not in", values, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14Between(Integer value1, Integer value2) {
            addCriterion("custom_14 between", value1, value2, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom14NotBetween(Integer value1, Integer value2) {
            addCriterion("custom_14 not between", value1, value2, "custom14");
            return (Criteria) this;
        }

        public Criteria andCustom15IsNull() {
            addCriterion("custom_15 is null");
            return (Criteria) this;
        }

        public Criteria andCustom15IsNotNull() {
            addCriterion("custom_15 is not null");
            return (Criteria) this;
        }

        public Criteria andCustom15EqualTo(Integer value) {
            addCriterion("custom_15 =", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15NotEqualTo(Integer value) {
            addCriterion("custom_15 <>", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15GreaterThan(Integer value) {
            addCriterion("custom_15 >", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15GreaterThanOrEqualTo(Integer value) {
            addCriterion("custom_15 >=", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15LessThan(Integer value) {
            addCriterion("custom_15 <", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15LessThanOrEqualTo(Integer value) {
            addCriterion("custom_15 <=", value, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15In(List<Integer> values) {
            addCriterion("custom_15 in", values, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15NotIn(List<Integer> values) {
            addCriterion("custom_15 not in", values, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15Between(Integer value1, Integer value2) {
            addCriterion("custom_15 between", value1, value2, "custom15");
            return (Criteria) this;
        }

        public Criteria andCustom15NotBetween(Integer value1, Integer value2) {
            addCriterion("custom_15 not between", value1, value2, "custom15");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}